Optimal Cache-Oblivious Implicit Dictionaries
نویسندگان
چکیده
We consider the issues of implicitness and cache-obliviousness in the classical dictionary problem for n distinct keys over an unbounded and ordered universe. One finding in this paper is that of closing the longstanding open problem about the existence of an optimal implicit dictionary over an unbounded universe. Another finding is motivated by the antithetic features of implicit and cache-oblivious models in data structures. We show how to blend their best qualities achieving O(logn) time and O(logB n) block transfers for searching and for amortized updating, while using just n memory cells like sorted arrays and heaps. As a result, we avoid space wasting and provide fast data access at any level of the
منابع مشابه
Optimal query/update tradeoffs in versioned dictionaries
External-memory dictionaries are a fundamental data structure in file systems and databases. Versioned (or fullypersistent) dictionaries have an associated version tree where queries can be performed at any version, updates can be performed on leaf versions, and any version can be ‘cloned’ by adding a child. Various query/update tradeoffs are known for unversioned dictionaries, many of them wit...
متن کاملCache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property
In this paper we present an implicit dynamic dictionary with the working-set property, supporting insert(e) and delete(e) in O(logn) time, predecessor(e) in O(log `p(e)) time, successor(e) in O(log `s(e)) time and search(e) in O(log min(`p(e), `e, `s(e))) time, where n is the number of elements stored in the dictionary, `e is the number of distinct elements searched for since element e was last...
متن کاملOptimal Worst-Case Operations for Implicit Cache-Oblivious Search Trees
We close an open issue on dictionaries dating back to the sixthies. An array of n keys can be sorted so that searching takes O(log n) time. Alternatively, it can be organized as a heap so that inserting and deleting keys take O(log n) time. We show that these bounds can be simultaneously achieved in the worst case for searching and updating by suitably maintaining a permutation of the n keys in...
متن کاملHashing Based Dictionaries in Different Memory Models
Hashing based dictionaries are one of the most fundamental data structures in computer science, in both theory and practice. They have been intensively studied for decades, and numerous results have been obtained in many memory models. In this survey, we try to cover some basic approaches and techniques for designing hashing based dictionaries. We focus on three most popular memory models: the ...
متن کاملCache-Oblivious Dictionaries and Multimaps with Negligible Failure Probability
A dictionary (or map) is a key-value store that requires all keys be unique, and a multimap is a key-value store that allows for multiple values to be associated with the same key. We design hashing-based indexing schemes for dictionaries and multimaps that achieve worst-case optimal performance for lookups and updates, with minimal space overhead and sub-polynomial probability that the data st...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003